<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">
<html><head>
<title>mxdoc</title>
</head><body>
<p><h1>DEPUI/DEGFX/DETK/DEDS gui/graphics/toolkit/data structure libraries</h1>
<p>
Take a look [<a href="history.txt">changelog</a>]
[<a href="http://freshmeat.net/projects/depui/">Freshmeat page</a>] <br>
Download [<a href="depui30.zip">DEPUI 3.0 (stable)</a>] 
[<a href="depui31.zip">DEPUI 3.1 (Work-in-progress)</a>]
<p>
<a href="http://www.doxygen.org/">Doxygen<a> documentation can be found at
<a href="doxygen/index.htm">doxygen/index.htm</a>
<p>

<h2>Naming conventions</h2>
<table>
<tr><td><b>Prefix</b></td><td><b>Expected use</b></td></tr>
<tr><td><code>mx_</code></td><td>public function or function-like macro</td></tr>
<tr><td><code>MX_</code></td><td>public type or macro</td></tr>
<tr><td><code>mx__</code></td><td>internal function</td></tr>
<tr><td><code>MX__</code></td><td>internal type or macro</td></tr>
<tr><td><code>MXDEBUG_</code></td><td>debugging macro guaranteed to have 0 runtime cost if MXDEBUG is defined</td></tr>
<tr><td><code>MXMODULE_</code></td><td>determine which modules are included in depui.c file</td></tr>
</table>
The only exceptions to these conventions are the boolean macros <code>true</code> and <code>false</code>.

 
(<a href="../include/mainpage.h">../include/mainpage.h</a>)<h2>libraries:</h2><ul><li><a href="deds.htm">deds</a> 
Data structures and utility functions for C</li>
<li><a href="degfx.htm">degfx</a> 
A GPL portable graphics library</li>
<li><a href="depui.htm">depui</a> 
A GPL portable gui library</li>
<li><a href="detk.htm">detk</a> 
Basic gui toolkit functions</li>
</ul><h2>tags:</h2><ul><li><a href="function.htm">function</a> Functions</li><li><a href="type.htm">type</a> Data types such as typedefs</li><li><a href="define.htm">define</a> Preprocessor defines</li><li><a href="macro.htm">macro</a> Preprocessor macros</li><li><a href="reference_counting.htm">reference_counting</a></li><li><a href="type_conversion.htm">type_conversion</a></li><li><a href="license.htm">license</a></li><li><a href="author.htm">author</a></li><li><a href="todo.htm">todo</a></li><li><a href="font.htm">font</a></li><li><a href="events.htm">events</a></li><li><a href="class.htm">class</a></li><li><a href="focus.htm">focus</a></li><li><a href="themes.htm">themes</a></li><li><a href="guifonts.htm">guifonts</a></li><li><a href="pointer.htm">pointer</a></li><li><a href="fix.htm">fix</a></li><li><a href="drawing_gui_objects.htm">drawing_gui_objects</a></li></ul><h2>modules:</h2><ul><li><a href="deds_alloc.htm">alloc</a> 
Wrappers for C memory management functions with error checking</li>
<li><a href="deds_atom.htm">atom</a> 
Reference counting atom with delete locking</li>
<li><a href="deds_bool.htm">bool</a> 
Boolean true and false macros</li>
<li><a href="deds_dllist.htm">dllist</a> 
Double linked list structure handling macros.</li>
<li><a href="deds_maxmin.htm">maxmin</a> 
Simple macros for maximum and minimum of two values.</li>
<li><a href="deds_memtype.htm">memtype</a> 
Typedefs for memory managment functions.</li>
<li><a href="deds_rect.htm">rect</a> 
Basic rectangle handling</li>
<li><a href="deds_rectatom.htm">rectatom</a> 
Rectangles with reference counting.</li>
<li><a href="deds_string.htm">string</a> 
Some simple string allocation and handling functions.</li>
<li><a href="deds_tree.htm">tree</a> 
Tree structure handling macros</li>
<li><a href="deds_vector.htm">vector</a> 
A 100% typesafe generic vector for C.</li>
<li><a href="degfx_bitmap.htm">bitmap</a> 
Bitmap functions</li>
<li><a href="degfx_colors.htm">colors</a> 
</li>
<li><a href="degfx_coregfx.htm">coregfx</a> 
The core DEGFX module</li>
<li><a href="degfx_driver.htm">driver</a> 
</li>
<li><a href="degfx_font.htm">font</a> 
Font functions</li>
<li><a href="depui_alert.htm">alert</a> 
A basic alert window  </li>
<li><a href="depui_corepui.htm">corepui</a> 
Core DEPUI functions</li>
<li><a href="depui_edittext.htm">edittext</a> 
An editable text object</li>
<li><a href="depui_filesel.htm">filesel</a> 
A file selector</li>
<li><a href="depui_fontsel.htm">fontsel</a> 
A font selector and loader</li>
<li><a href="depui_gfxsel.htm">gfxsel</a> 
A graphics mode and theme selector</li>
<li><a href="depui_list.htm">list</a> 
A gui list object</li>
<li><a href="depui_platform.htm">platform</a> 
</li>
<li><a href="depui_scroll.htm">scroll</a> 
A scrollable area</li>
<li><a href="depui_slider.htm">slider</a> 
Horizontal and vertical sliders</li>
<li><a href="depui_sysmenu.htm">sysmenu</a> 
A DEPUI system menu  </li>
<li><a href="depui_textedit.htm">textedit</a> 
A text editor  </li>
<li><a href="depui_themesel.htm">themesel</a> 
A theme selector and loader</li>
<li><a href="detk_bitfield.htm">bitfield</a> 
Portable bitfields</li>
<li><a href="detk_default.htm">default</a> 
Default values</li>
<li><a href="detk_drs.htm">drs</a> 
Dirty rectangle updating system</li>
<li><a href="detk_file.htm">file</a> 
Some simple file oriented functions</li>
<li><a href="detk_region.htm">region</a> 
</li>
<li><a href="detk_utf8.htm">utf8</a> 
Simple UTF-8 character handling functions</li>
</ul><h2>documented objects:</h2><ul><li><a href="deds_alloc.htm# define MXMODULE_ALLOC"># define MXMODULE_ALLOC</a>
Turn on memory tracking</li>
<li><a href="deds_alloc.htm# define mx_malloc"># define mx_malloc</a>
Replacement for stdlib malloc</li>
<li><a href="deds_alloc.htm# define mx_realloc"># define mx_realloc</a>
Replacement for stdlib realloc</li>
<li><a href="deds_alloc.htm# define mx_free"># define mx_free</a>
Replacement for stdlib free</li>
<li><a href="deds_alloc.htm# define MXDEBUG_ALLOCTAG(p)"># define MXDEBUG_ALLOCTAG(p)</a>
Tag an allocation (debug)</li>
<li><a href="deds_alloc.htm# define MXDEBUG_ALLOCCHECK()"># define MXDEBUG_ALLOCCHECK()</a>
Check all allocations</li>
<li><a href="deds_atom.htm#MX_ATOM">MX_ATOM</a>
Base class for reference counting and delete locking</li>
<li><a href="deds_atom.htm# define MXATOM(v)"># define MXATOM(v)</a>
Convert to MX_ATOM</li>
<li><a href="deds_atom.htm# define mx_atom(a,d,s)"># define mx_atom(a,d,s)</a>
Construct an MX_ATOM</li>
<li><a href="deds_atom.htm# define mx_delete(a)"># define mx_delete(a)</a>
Destroy an MX_ATOM</li>
<li><a href="deds_atom.htm# define mx_locked(a)"># define mx_locked(a)</a>
Find out if an object is locked or not  </li>
<li><a href="deds_atom.htm#MX_LOCK">MX_LOCK</a>
Stop MX_ATOMs from getting deleted</li>
<li><a href="deds_atom.htm# define mx_lock(l,a)"># define mx_lock(l,a)</a>
Construct a MX_LOCK</li>
<li><a href="deds_atom.htm#unsigned mx_unlock(MX_LOCK* lock)">unsigned mx_unlock(MX_LOCK* lock)</a>
Destruct a MX_LOCK</li>
<li><a href="deds_atom.htm#unsigned mx_lastlock(const MX_LOCK* lock)">unsigned mx_lastlock(const MX_LOCK* lock)</a>
Find out if a lock is the last one of an object  </li>
<li><a href="deds_atom.htm# define MX_REF(type)"># define MX_REF(type)</a>
A reference type, a typed MX_LOCK</li>
<li><a href="deds_atom.htm# define mx_ref(r,t)"># define mx_ref(r,t)</a>
Construct a MX_REF</li>
<li><a href="deds_atom.htm# define mx_unref(r)"># define mx_unref(r)</a>
Destruct a MX_REF</li>
<li><a href="deds_atom.htm# define MXREF(r)"># define MXREF(r)</a>
Return the object behind a MX_REF</li>
<li><a href="deds_atom.htm#void* mx__atom(MX_ATOM* atom, MX__ATOM_DESTRUCT destruct, size_t datasize)">void* mx__atom(MX_ATOM* atom, MX__ATOM_DESTRUCT destruct, size_t datasize)</a>
Construct an MX_ATOM</li>
<li><a href="deds_bool.htm#define false">#define false</a>
Macro for false.  </li>
<li><a href="deds_bool.htm#define true">#define true</a>
Macro for true.  </li>
<li><a href="deds_dllist.htm#define MX_DLLIST(type)">#define MX_DLLIST(type)</a>
Double linked list</li>
<li><a href="deds_dllist.htm#define MX_DLLIST_ELEM(type)">#define MX_DLLIST_ELEM(type)</a>
Elements for a double linked list</li>
<li><a href="deds_dllist.htm#define MX_DLLIST_NODE(type,list)">#define MX_DLLIST_NODE(type,list)</a>
Elements for a double linked list node</li>
<li><a href="deds_dllist.htm#define MX_DLLIST_APPEND(o,p)">#define MX_DLLIST_APPEND(o,p)</a>
Insert a double linked element into a double linked list</li>
<li><a href="deds_dllist.htm#define MX_DLLIST_PREPEND(o,p)">#define MX_DLLIST_PREPEND(o,p)</a>
Insert a double linked element into a double linked list</li>
<li><a href="deds_dllist.htm#define MX_DLLIST_REMOVE(o)">#define MX_DLLIST_REMOVE(o)</a>
Remove a double linked list element from its list  </li>
<li><a href="deds_dllist.htm#define mx_dllist_first(o)">#define mx_dllist_first(o)</a>
First element of a double linked list.  </li>
<li><a href="deds_dllist.htm#define mx_dllist_last(o)">#define mx_dllist_last(o)</a>
Last element of a double linked list.  </li>
<li><a href="deds_dllist.htm#define mx_dllist_next(o)">#define mx_dllist_next(o)</a>
Next element in the double linked list. </li>
<li><a href="deds_dllist.htm#define mx_dllist_prev(o)">#define mx_dllist_prev(o)</a>
Previous element in the double linked list. </li>
<li><a href="deds_dllist.htm#define mx_dllist_list(o)">#define mx_dllist_list(o)</a>
List that an element is contained in.  </li>
<li><a href="deds_maxmin.htm#define MX_MAX(x,y)">#define MX_MAX(x,y)</a>
The maximum of two values.  </li>
<li><a href="deds_maxmin.htm#define MX_MIN(x,y)">#define MX_MIN(x,y)</a>
The minimum of two values.  </li>
<li><a href="deds_maxmin.htm#define MX_MID(x,y,z)">#define MX_MID(x,y,z)</a>
The middle of three values.  </li>
<li><a href="deds_memtype.htm#typedef void* (*MX_ALLOC) (size_t bytes);">typedef void* (*MX_ALLOC) (size_t bytes);</a>
A stdlib malloc-like function.  </li>
<li><a href="deds_memtype.htm#typedef void* (*MX_REALLOC) (void* ptr, size_t bytes);">typedef void* (*MX_REALLOC) (void* ptr, size_t bytes);</a>
A stdlib realloc-like function.  </li>
<li><a href="deds_memtype.htm#typedef void (*MX_FREE) (void* ptr);">typedef void (*MX_FREE) (void* ptr);</a>
A stdlib free-like function.  </li>
<li><a href="deds_memtype.htm#MX_ALLOCATOR">MX_ALLOCATOR</a>
A standard memory alloc/realloc/free tool  </li>
<li><a href="deds_rect.htm#MX_RECT">MX_RECT</a>
A basic rectangle</li>
<li><a href="deds_rect.htm# define MXRECT_VALID(A)"># define MXRECT_VALID(A)</a>
Is MX_RECT valid?</li>
<li><a href="deds_rect.htm# define MXRECT_INTERSECT(A, B, R)"># define MXRECT_INTERSECT(A, B, R)</a>
Find intersection of two rectangles</li>
<li><a href="deds_rect.htm# define MXRECT_UNION(A, B, R)"># define MXRECT_UNION(A, B, R)</a>
Union of two rectangles.  </li>
<li><a href="deds_rect.htm# define MXRECT_CONTAINS(R, X, Y)"># define MXRECT_CONTAINS(R, X, Y)</a>
Point contained in MX_RECT</li>
<li><a href="deds_rect.htm# define MXRECTS_OVERLAP(A, B)"># define MXRECTS_OVERLAP(A, B)</a>
Do MX_RECT overlap?</li>
<li><a href="deds_rect.htm#void mx_rect_move(MX_RECT* rrect, int x, int y)">void mx_rect_move(MX_RECT* rrect, int x, int y)</a>
Move a MX_RECT</li>
<li><a href="deds_rect.htm#void mx_rect_resize(MX_RECT* rrect, int w, int h)">void mx_rect_resize(MX_RECT* rrect, int w, int h)</a>
Resize a MX_RECT</li>
<li><a href="deds_rectatom.htm#MX_RECTATOM_DATA">MX_RECTATOM_DATA</a>
MX_RECT with reference counting  </li>
<li><a href="deds_rectatom.htm# define MXRECT(b)"># define MXRECT(b)</a>
Typesafe conversion between a class derived from MX_RECTATOM to a MX_RECT.  </li>
<li><a href="deds_rectatom.htm# define mx_rectatom(r,d,s)"># define mx_rectatom(r,d,s)</a>
Construct a MX_RECTATOM  </li>
<li><a href="deds_rectatom.htm# define mx_rectatom_place(r, rect)"># define mx_rectatom_place(r, rect)</a>
Place a MX_RECTAOM at some specific rectangle.  </li>
<li><a href="deds_rectatom.htm# define mx_x1(r)"># define mx_x1(r)</a>
MX_RECTATOM x1 value.  </li>
<li><a href="deds_rectatom.htm# define mx_y1(r)"># define mx_y1(r)</a>
MX_RECTATOM y1 value.  </li>
<li><a href="deds_rectatom.htm# define mx_x2(r)"># define mx_x2(r)</a>
MX_RECTATOM x2 value.  </li>
<li><a href="deds_rectatom.htm# define mx_y2(r)"># define mx_y2(r)</a>
MX_RECTATOM y2 value.  </li>
<li><a href="deds_rectatom.htm# define mx_w(r)"># define mx_w(r)</a>
MX_RECTATOM width.  </li>
<li><a href="deds_rectatom.htm# define mx_h(r)"># define mx_h(r)</a>
MX_RECTATOM height.  </li>
<li><a href="deds_rectatom.htm#void* mx__rectatom(MX_RECTATOM_DATA* rectatom, MX__ATOM_DESTRUCT destruct, size_t size)">void* mx__rectatom(MX_RECTATOM_DATA* rectatom, MX__ATOM_DESTRUCT destruct, size_t size)</a>
Construct a MX_RECTATOM.  </li>
<li><a href="deds_rectatom.htm#void mx__rectatom_place(MX_RECTATOM_DATA* rectatom, const MX_RECT* rrect)">void mx__rectatom_place(MX_RECTATOM_DATA* rectatom, const MX_RECT* rrect)</a>
Place a MX_RECTATOM</li>
<li><a href="deds_string.htm#MX_STRING">MX_STRING</a>
A string object  </li>
<li><a href="deds_string.htm#void mx_string_realloc(MX_STRING* string, const MX_ALLOC alloc, const MX_FREE dfree)">void mx_string_realloc(MX_STRING* string, const MX_ALLOC alloc, const MX_FREE dfree)</a>
Reallocate a MX_STRING</li>
<li><a href="deds_string.htm#void mx_string_set(MX_STRING* string, const char* text, int len, const MX_FREE dfree)">void mx_string_set(MX_STRING* string, const char* text, int len, const MX_FREE dfree)</a>
Set MX_STRING text and length</li>
<li><a href="deds_string.htm#void mx_string(MX_STRING* string)">void mx_string(MX_STRING* string)</a>
Construct a MX_STRING</li>
<li><a href="deds_string.htm#void mx_string_free(MX_STRING* string)">void mx_string_free(MX_STRING* string)</a>
Destruct a MX_STRING</li>
<li><a href="deds_string.htm#const char* mx_string_text(const MX_STRING* string, int* len)">const char* mx_string_text(const MX_STRING* string, int* len)</a>
Get MX_STRING text and length</li>
<li><a href="deds_string.htm#int mx_string_len(const MX_STRING* string)">int mx_string_len(const MX_STRING* string)</a>
Get MX_STRING length</li>
<li><a href="deds_tree.htm#define MX_TREE(type)">#define MX_TREE(type)</a>
Declare elements for a tree structure</li>
<li><a href="deds_tree.htm#define MX_TREE_INSERT(o,p)">#define MX_TREE_INSERT(o,p)</a>
Insert a tree element into a parent. </li>
<li><a href="deds_tree.htm#define MX_TREE_REMOVE(o)">#define MX_TREE_REMOVE(o)</a>
Remove a tree element from a parent.  </li>
<li><a href="deds_tree.htm#define mx_tree_first(o)">#define mx_tree_first(o)</a>
The first child element of a parent.  </li>
<li><a href="deds_tree.htm#define mx_tree_last(o)">#define mx_tree_last(o)</a>
The last child element of a parent.  </li>
<li><a href="deds_tree.htm#define mx_tree_next(o)">#define mx_tree_next(o)</a>
The next child element with the same parent.  </li>
<li><a href="deds_tree.htm#define mx_tree_prev(o)">#define mx_tree_prev(o)</a>
The previous child element with the same parent.  </li>
<li><a href="deds_tree.htm#define mx_tree_parent(o)">#define mx_tree_parent(o)</a>
The parent tree element.  </li>
<li><a href="deds_vector.htm#define MX_VECTOR(type)">#define MX_VECTOR(type)</a>
A 100% typesafe generic vector for C</li>
<li><a href="deds_vector.htm#define MX_VECTOR_ITERATOR(type)">#define MX_VECTOR_ITERATOR(type)</a>
An iterator for a MX_VECTOR</li>
<li><a href="deds_vector.htm#define mx_vector(mxvect)">#define mx_vector(mxvect)</a>
Construct a MX_VECTOR</li>
<li><a href="deds_vector.htm#define mx_vector_free(mxvect)">#define mx_vector_free(mxvect)</a>
Destruct a MX_VECTOR</li>
<li><a href="deds_vector.htm#define mx_vector_at(mxvect, mxn)">#define mx_vector_at(mxvect, mxn)</a>
Return an element from a MX_VECTOR at a specific index</li>
<li><a href="deds_vector.htm#define mx_vector_back(mxvect)">#define mx_vector_back(mxvect)</a>
Return the last element from a MX_VECTOR</li>
<li><a href="deds_vector.htm#define mx_vector_begin(mxvect)">#define mx_vector_begin(mxvect)</a>
Pointer to first element</li>
<li><a href="deds_vector.htm#define mx_vector_capacity(mxvect)">#define mx_vector_capacity(mxvect)</a>
Capacity</li>
<li><a href="deds_vector.htm#define mx_vector_clear(mxvect)">#define mx_vector_clear(mxvect)</a>
Clear</li>
<li><a href="deds_vector.htm#define mx_vector_empty(mxvect)">#define mx_vector_empty(mxvect)</a>
Empty</li>
<li><a href="deds_vector.htm#define mx_vector_end(mxvect)">#define mx_vector_end(mxvect)</a>
Pointer one-past last element</li>
<li><a href="deds_vector.htm#define mx_vector_erase(mxvect, mxiter)">#define mx_vector_erase(mxvect, mxiter)</a>
Erase an element</li>
<li><a href="deds_vector.htm#define mx_vector_push_back(mxvect, mxdat)">#define mx_vector_push_back(mxvect, mxdat)</a>
Push an element onto the back of the MX_VECTOR</li>
<li><a href="deds_vector.htm#define mx_vector_size(mxvect)">#define mx_vector_size(mxvect)</a>
Number of elements</li>
<li><a href="deds_vector.htm#define mx_vector_resize(mxvect, n)">#define mx_vector_resize(mxvect, n)</a>
Resize</li>
<li><a href="deds_vector.htm#define mx_vector_reserve(mxvect, n)">#define mx_vector_reserve(mxvect, n)</a>
Set capacity</li>
<li><a href="deds_vector.htm#define mx_vector_extend(mxvect, n)">#define mx_vector_extend(mxvect, n)</a>
Increase capacity</li>
<li><a href="deds_vector.htm#define mx_vector_contract(mxvect)">#define mx_vector_contract(mxvect)</a>
Reduce capacity to minimum</li>
<li><a href="deds_vector.htm#define mx_vector_append1(mxvect, dat)">#define mx_vector_append1(mxvect, dat)</a>
Append 1 element (bitwise copy)</li>
<li><a href="deds_vector.htm#define mx_vector_append(mxvect, dat, n)">#define mx_vector_append(mxvect, dat, n)</a>
Append a number of elements (bitwise copy)</li>
<li><a href="deds_vector.htm#define mx_vector_insert1(mxvect, dat, ind)">#define mx_vector_insert1(mxvect, dat, ind)</a>
Insert 1 element (bitwise copy)</li>
<li><a href="deds_vector.htm#define mx_vector_insert(mxvect, dat, n, ind)">#define mx_vector_insert(mxvect, dat, n, ind)</a>
Insert a number of elements (bitwise copy)</li>
<li><a href="deds_vector.htm#define mx_vector_remove_last(mxvect)">#define mx_vector_remove_last(mxvect)</a>
Remove last element</li>
<li><a href="deds_vector.htm#size_t mx__vector_makeroom(MX__VECTOR_DATA* vect, const size_t num, const size_t place, const size_t sizeofdata)">size_t mx__vector_makeroom(MX__VECTOR_DATA* vect, const size_t num, const size_t place, const size_t sizeofdata)</a>
</li>
<li><a href="degfx_bitmap.htm#MX_BITMAP">MX_BITMAP</a>
A bitmap type  </li>
<li><a href="degfx_bitmap.htm#MX_BITMAP* mx_bitmap(int x2, int y2)">MX_BITMAP* mx_bitmap(int x2, int y2)</a>
Create a bitmap  </li>
<li><a href="degfx_bitmap.htm#MX_BITMAP* mx_bitmap_tga(const char* filename)">MX_BITMAP* mx_bitmap_tga(const char* filename)</a>
Load a bitmap from a TGA file  </li>
<li><a href="degfx_bitmap.htm#MX_BITMAP* mx_bitmap_gif(const char* filename)">MX_BITMAP* mx_bitmap_gif(const char* filename)</a>
Load a bitmap from a GIF file  </li>
<li><a href="degfx_bitmap.htm#MX_BITMAP* mx_bitmap_pcx(const char* filename)">MX_BITMAP* mx_bitmap_pcx(const char* filename)</a>
Load a bitmap from a PCX file  </li>
<li><a href="degfx_bitmap.htm#MX_BITMAP* mx_bitmap_pcx_greyscale(const char* filename)">MX_BITMAP* mx_bitmap_pcx_greyscale(const char* filename)</a>
Load a bitmap from a PCX file and convert it to greyscale  </li>
<li><a href="degfx_bitmap.htm#MX_BITMAP* mx_bitmap_clone(const MX_BITMAP* other)">MX_BITMAP* mx_bitmap_clone(const MX_BITMAP* other)</a>
Make a complete copy of a bitmap  </li>
<li><a href="degfx_bitmap.htm#unsigned mx_bitmap_clip(MX_BITMAP* bitmap, const MX_RECT* newclip)">unsigned mx_bitmap_clip(MX_BITMAP* bitmap, const MX_RECT* newclip)</a>
Set a bitmaps clipping area   </li>
<li><a href="degfx_bitmap.htm#const MX_RECT* mx_bitmap_clip_get(const MX_BITMAP* bitmap)">const MX_RECT* mx_bitmap_clip_get(const MX_BITMAP* bitmap)</a>
Return a bitmaps clipping area  </li>
<li><a href="degfx_bitmap.htm#void mx_bitmap_offset(MX_BITMAP* bitmap, int x1, int y1)">void mx_bitmap_offset(MX_BITMAP* bitmap, int x1, int y1)</a>
Offset a bitmap</li>
<li><a href="degfx_bitmap.htm#typedef MX_PIXEL* MX_BITMAP_ITER;">typedef MX_PIXEL* MX_BITMAP_ITER;</a>
Fast pixel-level iterator for a bitmap  </li>
<li><a href="degfx_bitmap.htm#MX_BITMAP_ITER mx_bitmap_iter(const MX_BITMAP* bitmap, int x1, int y1)">MX_BITMAP_ITER mx_bitmap_iter(const MX_BITMAP* bitmap, int x1, int y1)</a>
Return pixel-level iterator at a given position  </li>
<li><a href="degfx_bitmap.htm#MX_BITMAP_ITER mx_bitmap_begin(const MX_BITMAP* bitmap)">MX_BITMAP_ITER mx_bitmap_begin(const MX_BITMAP* bitmap)</a>
Return pixel-level iterator at the top left position  </li>
<li><a href="degfx_bitmap.htm#MX_BITMAP_ITER mx_bitmap_end(const MX_BITMAP* bitmap)">MX_BITMAP_ITER mx_bitmap_end(const MX_BITMAP* bitmap)</a>
Return pixel-level iterator at the lower right position  </li>
<li><a href="degfx_bitmap.htm#MX_PIXEL mx_bitmap_getpixel(const MX_BITMAP* bitmap, int x1, int y1)">MX_PIXEL mx_bitmap_getpixel(const MX_BITMAP* bitmap, int x1, int y1)</a>
Return pixel a a given position  </li>
<li><a href="degfx_bitmap.htm#void mx_bitmap_pixel(MX_BITMAP* bitmap, int x1, int y1, MX_PIXEL color)">void mx_bitmap_pixel(MX_BITMAP* bitmap, int x1, int y1, MX_PIXEL color)</a>
Draw a pixel on a bitmap  </li>
<li><a href="degfx_bitmap.htm#void mx_bitmap_vline(MX_BITMAP* bitmap, int x1, int y1, int y2, MX_PIXEL color)">void mx_bitmap_vline(MX_BITMAP* bitmap, int x1, int y1, int y2, MX_PIXEL color)</a>
Draw a vertical line on a bitmap  </li>
<li><a href="degfx_bitmap.htm#void mx_bitmap_hline(MX_BITMAP* bitmap, int x1, int y1, int x2, MX_PIXEL color)">void mx_bitmap_hline(MX_BITMAP* bitmap, int x1, int y1, int x2, MX_PIXEL color)</a>
Draw a horizontal line on a bitmap  </li>
<li><a href="degfx_bitmap.htm#void mx_bitmap_line(MX_BITMAP* bitmap, int x1, int y1, int x2, int y2, MX_PIXEL color)">void mx_bitmap_line(MX_BITMAP* bitmap, int x1, int y1, int x2, int y2, MX_PIXEL color)</a>
Draw a line on a bitmap  </li>
<li><a href="degfx_bitmap.htm#void mx_bitmap_rectfill(MX_BITMAP* bitmap, int x1, int y1, int x2, int y2, MX_PIXEL color)">void mx_bitmap_rectfill(MX_BITMAP* bitmap, int x1, int y1, int x2, int y2, MX_PIXEL color)</a>
Draw a filled rectangle on a bitmap  </li>
<li><a href="degfx_bitmap.htm#void mx_bitmap_clear(MX_BITMAP* bitmap, MX_PIXEL color)">void mx_bitmap_clear(MX_BITMAP* bitmap, MX_PIXEL color)</a>
Clear a bitmap to a solid color  </li>
<li><a href="degfx_bitmap.htm#void mx_bitmap_blit(const MX_BITMAP* src, MX_BITMAP* dest, int sx, int sy, int dx, int dy, int w, int h)">void mx_bitmap_blit(const MX_BITMAP* src, MX_BITMAP* dest, int sx, int sy, int dx, int dy, int w, int h)</a>
Blit a bitmap onto another bitmap</li>
<li><a href="degfx_bitmap.htm#void mx_bitmap_blitcopy(const MX_BITMAP* src, MX_BITMAP* dest, int sx, int sy, int dx, int dy, int w, int h)">void mx_bitmap_blitcopy(const MX_BITMAP* src, MX_BITMAP* dest, int sx, int sy, int dx, int dy, int w, int h)</a>
Blit a bitmap onto another bitmap</li>
<li><a href="degfx_bitmap.htm#void mx_bitmap_blittrans(const MX_BITMAP* src, MX_BITMAP* dest, int sx, int sy, int dx, int dy, int w, int h, unsigned long trans)">void mx_bitmap_blittrans(const MX_BITMAP* src, MX_BITMAP* dest, int sx, int sy, int dx, int dy, int w, int h, unsigned long trans)</a>
Blit a bitmap onto another bitmap</li>
<li><a href="degfx_bitmap.htm#void mx_bitmap_blitstretch(const MX_BITMAP* src, MX_BITMAP* dest, int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh)">void mx_bitmap_blitstretch(const MX_BITMAP* src, MX_BITMAP* dest, int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh)</a>
Stretch-blit a bitmap onto another bitmap</li>
<li><a href="degfx_bitmap.htm#void mx_bitmap_box(MX_BITMAP* bitmap, int x1, int y1, int x2, int y2, int width, MX_PIXEL light, MX_PIXEL dark)">void mx_bitmap_box(MX_BITMAP* bitmap, int x1, int y1, int x2, int y2, int width, MX_PIXEL light, MX_PIXEL dark)</a>
Draw a box on a bitmap  </li>
<li><a href="degfx_bitmap.htm#void mx_bitmap_frame(MX_BITMAP* bitmap, int x1, int y1, int x2, int y2, int width, MX_PIXEL light, MX_PIXEL dark, MX_PIXEL fill)">void mx_bitmap_frame(MX_BITMAP* bitmap, int x1, int y1, int x2, int y2, int width, MX_PIXEL light, MX_PIXEL dark, MX_PIXEL fill)</a>
Draw a frame on a bitmap  </li>
<li><a href="degfx_bitmap.htm#void mx_bitmap_decorate(const MX_BITMAP* src, MX_BITMAP* dest, int x, int y, int x1, int y1, int x2, int y2)">void mx_bitmap_decorate(const MX_BITMAP* src, MX_BITMAP* dest, int x, int y, int x1, int y1, int x2, int y2)</a>
Blitting function for drawing gui objects  </li>
<li><a href="degfx_bitmap.htm#unsigned mx_bitmap_collision(const MX_BITMAP* src, const MX_BITMAP* dest, int sx, int sy, int dx, int dy, unsigned int thresh)">unsigned mx_bitmap_collision(const MX_BITMAP* src, const MX_BITMAP* dest, int sx, int sy, int dx, int dy, unsigned int thresh)</a>
Check if two bitmaps overlap on any pixels</li>
<li><a href="degfx_bitmap.htm#define mx_iter(x,y)">#define mx_iter(x,y)</a>
Get an iterator to a given position on the screen  </li>
<li><a href="degfx_bitmap.htm#define mx_getpixel(x,y)">#define mx_getpixel(x,y)</a>
Return the pixel at a given position on the screen  </li>
<li><a href="degfx_bitmap.htm#define mx_pixel(x,y,c)">#define mx_pixel(x,y,c)</a>
Draw a pixel on the screen  </li>
<li><a href="degfx_bitmap.htm#define mx_vline(x,y1,y2,c)">#define mx_vline(x,y1,y2,c)</a>
Draw a vertical line on the screen  </li>
<li><a href="degfx_bitmap.htm#define mx_hline(x1,y,x2,c)">#define mx_hline(x1,y,x2,c)</a>
Draw a horizontal line on the screen  </li>
<li><a href="degfx_bitmap.htm#define mx_line(x1,y1,x2,y2,c)">#define mx_line(x1,y1,x2,y2,c)</a>
Draw a line on the screen  </li>
<li><a href="degfx_bitmap.htm#define mx_rectfill(x1,y1,x2,y2,c)">#define mx_rectfill(x1,y1,x2,y2,c)</a>
Draw a filled rectangle on the screen  </li>
<li><a href="degfx_bitmap.htm#define mx_clear(c)">#define mx_clear(c)</a>
Clear the screen to a solid color  </li>
<li><a href="degfx_bitmap.htm#define mx_blit(s,sx,sy,dx,dy,w,h)">#define mx_blit(s,sx,sy,dx,dy,w,h)</a>
Blit a bitmap onto the screen</li>
<li><a href="degfx_bitmap.htm#define mx_blitcopy(s,sx,sy,dx,dy,w,h)">#define mx_blitcopy(s,sx,sy,dx,dy,w,h)</a>
Blit a bitmap onto the screen</li>
<li><a href="degfx_bitmap.htm#define mx_blittrans(s,sx,sy,dx,dy,w,h,t)">#define mx_blittrans(s,sx,sy,dx,dy,w,h,t)</a>
Blit a bitmap onto the screen</li>
<li><a href="degfx_bitmap.htm#define mx_blitstretch(s,sx,sy,sw,sh,dx,dy,dw,dh)">#define mx_blitstretch(s,sx,sy,sw,sh,dx,dy,dw,dh)</a>
Stretch-blit a bitmap onto the screen</li>
<li><a href="degfx_bitmap.htm#define mx_box(x1,y1,x2,y2,w,l,d)">#define mx_box(x1,y1,x2,y2,w,l,d)</a>
Draw a box on the screen  </li>
<li><a href="degfx_bitmap.htm#define mx_frame(x1,y1,x2,y2,w,l,d,f)">#define mx_frame(x1,y1,x2,y2,w,l,d,f)</a>
Draw a frame on the screen  </li>
<li><a href="degfx_bitmap.htm#define mx_decorate(s,x,y,x1,y1,x2,y2)">#define mx_decorate(s,x,y,x1,y1,x2,y2)</a>
Blitting function for drawing gui objects on the screen  </li>
<li><a href="degfx_bitmap.htm#bitmap.h" unsigned mx_bitmap_collision(const MX_BITMAP* src, const MX_BITMAP* dest, int sx, int sy, int dx, int dy, unsigned int thresh)">bitmap.h" unsigned mx_bitmap_collision(const MX_BITMAP* src, const MX_BITMAP* dest, int sx, int sy, int dx, int dy, unsigned int thresh)</a>
</li>
<li><a href="degfx_bitmap.htm#bitmap.h" void mx_bitmap_decorate(const MX_BITMAP* src, MX_BITMAP* dest, int x, int y, int x1, int y1, int x2, int y2)">bitmap.h" void mx_bitmap_decorate(const MX_BITMAP* src, MX_BITMAP* dest, int x, int y, int x1, int y1, int x2, int y2)</a>
</li>
<li><a href="degfx_bitmap.htm#bitmap.h" MX_BITMAP_ITER mx_bitmap_iter(const MX_BITMAP* bitmap, int x1, int y1)">bitmap.h" MX_BITMAP_ITER mx_bitmap_iter(const MX_BITMAP* bitmap, int x1, int y1)</a>
</li>
<li><a href="degfx_colors.htm#define MXRGB(r, g, b)">#define MXRGB(r, g, b)</a>
Construct a pixel out of a r, g, b  </li>
<li><a href="degfx_colors.htm#define MXRGBT(r, g, b, a)">#define MXRGBT(r, g, b, a)</a>
Construct a pixel out of a r, g, b and transparency  </li>
<li><a href="degfx_colors.htm#define MXT(c)">#define MXT(c)</a>
The transparency of a pixel  </li>
<li><a href="degfx_colors.htm#define MXR(c)">#define MXR(c)</a>
Red component of a pixel  </li>
<li><a href="degfx_colors.htm#define MXG(c)">#define MXG(c)</a>
Green component of a pixel  </li>
<li><a href="degfx_colors.htm#define MXB(c)">#define MXB(c)</a>
Blue component of a pixel  </li>
<li><a href="degfx_colors.htm#define MXTRANS(c, a)">#define MXTRANS(c, a)</a>
Set pixel transparency  </li>
<li><a href="degfx_colors.htm#define MXBLENDT(c1, c2, a1)">#define MXBLENDT(c1, c2, a1)</a>
Blend two pixels with transparency  </li>
<li><a href="degfx_colors.htm#define MXBLEND(c1, c2)">#define MXBLEND(c1, c2)</a>
Blend two pixels using the transparency component of the first pixel.  </li>
<li><a href="degfx_colors.htm#define MXCOLOR_alice">#define MXCOLOR_alice</a>
Macros for named colors</li>
<li><a href="degfx_coregfx.htm# define MXSCREEN"># define MXSCREEN</a>
Screen bitmap</li>
<li><a href="degfx_coregfx.htm#void mx_font_default(MX_FONT* font)">void mx_font_default(MX_FONT* font)</a>
</li>
<li><a href="degfx_coregfx.htm#unsigned mx_gfx_start(MX_GFX_ARGS* userargs)">unsigned mx_gfx_start(MX_GFX_ARGS* userargs)</a>
Start DEGFX and set the graphics mode  </li>
<li><a href="degfx_coregfx.htm#void mx_gfx_stop(void)">void mx_gfx_stop(void)</a>
Stop DEGFX</li>
<li><a href="degfx_coregfx.htm#const MX_GFX_ARGS* mx_gfx_info(void)">const MX_GFX_ARGS* mx_gfx_info(void)</a>
</li>
<li><a href="degfx_coregfx.htm#void mx_gfx_redraw(MX_REDRAW_FUNC redraw)">void mx_gfx_redraw(MX_REDRAW_FUNC redraw)</a>
</li>
<li><a href="degfx_coregfx.htm#void mx_gfx_dirty(const MX_RECT* rect)">void mx_gfx_dirty(const MX_RECT* rect)</a>
Mark part of the screen as dirty </li>
<li><a href="degfx_coregfx.htm#unsigned mx_gfx_poll(void)">unsigned mx_gfx_poll(void)</a>
Poll the DEGFX grpahics/keyboard/mouse system</li>
<li><a href="degfx_coregfx.htm#unsigned mx_gfx_pointer(int* x, int* y, int* b)">unsigned mx_gfx_pointer(int* x, int* y, int* b)</a>
Get the mouse position and state</li>
<li><a href="degfx_coregfx.htm#unsigned mx_gfx_hidepointer(unsigned hide)">unsigned mx_gfx_hidepointer(unsigned hide)</a>
Hide the pointer</li>
<li><a href="degfx_coregfx.htm#unsigned mx_gfx_key(int* scan, int* ascii)">unsigned mx_gfx_key(int* scan, int* ascii)</a>
Return keypress information </li>
<li><a href="degfx_driver.htm#MX_GFX_ARGS">MX_GFX_ARGS</a>
Graphic driver information</li>
<li><a href="degfx_driver.htm#define mx_driver_fullscreen">#define mx_driver_fullscreen</a>
</li>
<li><a href="degfx_driver.htm#define mx_driver_windowed">#define mx_driver_windowed</a>
</li>
<li><a href="degfx_driver.htm#define mx_driver_vga">#define mx_driver_vga</a>
</li>
<li><a href="degfx_driver.htm#define mx_driver_13h">#define mx_driver_13h</a>
</li>
<li><a href="degfx_font.htm#MX_FONT">MX_FONT</a>
A font  </li>
<li><a href="degfx_font.htm#void mx_font_default(MX_FONT* font)">void mx_font_default(MX_FONT* font)</a>
Set the default font  </li>
<li><a href="degfx_font.htm#void mx_font_bitmap_draw(const MX_FONT* font, struct MX_BITMAP* bitmap, const char* text, int len, int x, const int y, const MX_PIXEL fore)">void mx_font_bitmap_draw(const MX_FONT* font, struct MX_BITMAP* bitmap, const char* text, int len, int x, const int y, const MX_PIXEL fore)</a>
Draw text onto a bitmap  </li>
<li><a href="degfx_font.htm#void mx_font_bitmap_drawblock(const MX_FONT* font, struct MX_BITMAP* bitmap, const char* text, int len, int x, int y, const MX_PIXEL fore)">void mx_font_bitmap_drawblock(const MX_FONT* font, struct MX_BITMAP* bitmap, const char* text, int len, int x, int y, const MX_PIXEL fore)</a>
Draw a block of text onto a bitmap  </li>
<li><a href="degfx_font.htm#define mx_font_draw(f,t,l,x,y,fore)">#define mx_font_draw(f,t,l,x,y,fore)</a>
Draw text onto the screen  </li>
<li><a href="degfx_font.htm#define mx_font_drawblock(f,t,l,x,y,fore)">#define mx_font_drawblock(f,t,l,x,y,fore)</a>
Draw a block of text onto the screen  </li>
<li><a href="degfx_font.htm#unsigned int mx_font_height(const MX_FONT* font)">unsigned int mx_font_height(const MX_FONT* font)</a>
Return the height of a font  </li>
<li><a href="degfx_font.htm#unsigned int mx_font_width(const MX_FONT* font, const char* text, int len)">unsigned int mx_font_width(const MX_FONT* font, const char* text, int len)</a>
Return the width of a portion of text  </li>
<li><a href="degfx_font.htm#void mx_font_blocksize(const MX_FONT* font, const char* text, int len, int* tw, int* th, int* last)">void mx_font_blocksize(const MX_FONT* font, const char* text, int len, int* tw, int* th, int* last)</a>
Return the size of a block for a portion of text  </li>
<li><a href="degfx_font.htm#void mx_font_bitmap_drawblock(const MX_FONT* font, MX_BITMAP* bitmap, const char* text, int len, int x, int y, const MX_PIXEL fore)">void mx_font_bitmap_drawblock(const MX_FONT* font, MX_BITMAP* bitmap, const char* text, int len, int x, int y, const MX_PIXEL fore)</a>
Draw multi-line text onto a bitmap</li>
<li><a href="degfx_font.htm#void mx_font_bitmap_draw(const MX_FONT* font, MX_BITMAP* bitmap, const char* text, int len, int x, const int y, const MX_PIXEL fore)">void mx_font_bitmap_draw(const MX_FONT* font, MX_BITMAP* bitmap, const char* text, int len, int x, const int y, const MX_PIXEL fore)</a>
Draw text onto a bitmap</li>
<li><a href="degfx_font.htm#unsigned int mx_font_width(const MX_FONT* font, const char* text, int num)">unsigned int mx_font_width(const MX_FONT* font, const char* text, int num)</a>
The width in pixels of some text</li>
<li><a href="degfx_font.htm#MX_FONT* mx_font_bitmap(const MX_BITMAP* bitmap, int start)">MX_FONT* mx_font_bitmap(const MX_BITMAP* bitmap, int start)</a>
Load a font from a bitmap.  </li>
<li><a href="degfx_font.htm#MX_FONT* mx_font_pcx(const char* filename, int start)">MX_FONT* mx_font_pcx(const char* filename, int start)</a>
Load a font from a PCX file.  </li>
<li><a href="depui_alert.htm#MX_ALERT">MX_ALERT</a>
Basic alert window  </li>
<li><a href="depui_alert.htm# define mx_alert(id)"># define mx_alert(id)</a>
Create a basic alert window.  </li>
<li><a href="depui_corepui.htm#MX_EVENT">MX_EVENT</a>
Event types  </li>
<li><a href="depui_corepui.htm# define mx_event(o,t,d,l)"># define mx_event(o,t,d,l)</a>
Send an event</li>
<li><a href="depui_corepui.htm# define mx_eventmatch(e,o)"># define mx_eventmatch(e,o)</a>
Check if two events match with type and destination</li>
<li><a href="depui_corepui.htm# define mx_dirty(o,c)"># define mx_dirty(o,c)</a>
Mark an object for later redraw</li>
<li><a href="depui_corepui.htm# define MXOBJ(o)"># define MXOBJ(o)</a>
Convert to base MX_OBJ class  </li>
<li><a href="depui_corepui.htm# define MXID(o)"># define MXID(o)</a>
Get an objects ID number</li>
<li><a href="depui_corepui.htm# define MXCLASS(o)"># define MXCLASS(o)</a>
Return an objects class  </li>
<li><a href="depui_corepui.htm# define mx_x(o)"># define mx_x(o)</a>
Return the X-coordinate of an MX_OBJ  </li>
<li><a href="depui_corepui.htm# define mx_y(o)"># define mx_y(o)</a>
Return the Y-coordinate of an MX_OBJ  </li>
<li><a href="depui_corepui.htm# define mx_place(o,r)"># define mx_place(o,r)</a>
Place an MX_OBJ at a given recyangle  </li>
<li><a href="depui_corepui.htm# define mx_position(o,x,y,w,h)"># define mx_position(o,x,y,w,h)</a>
Position an MX_OBJ at given coordinates  </li>
<li><a href="depui_corepui.htm# define mx_move(o,x,y)"># define mx_move(o,x,y)</a>
Move an MX_OBJ to a given poistion  </li>
<li><a href="depui_corepui.htm# define mx_resize(o,w,h)"># define mx_resize(o,w,h)</a>
Resize an MX_OBJ to a given width and height  </li>
<li><a href="depui_corepui.htm# define mx_geometry(o)"># define mx_geometry(o)</a>
Make an object check/correct its geometry</li>
<li><a href="depui_corepui.htm#MX_RECT* mx_defaultrect_data(void)">MX_RECT* mx_defaultrect_data(void)</a>
Get default rect informatoin</li>
<li><a href="depui_corepui.htm# define mx_defaultrect(o,r)"># define mx_defaultrect(o,r)</a>
Find out what size/position and object wants to have</li>
<li><a href="depui_corepui.htm# define mx_layout(o,f,r,x,y)"># define mx_layout(o,f,r,x,y)</a>
Set the layout of an MX_OBJ  </li>
<li><a href="depui_corepui.htm# define mx_armed(o)"># define mx_armed(o)</a>
Return if an MX_OBJ is armed or not  </li>
<li><a href="depui_corepui.htm# define mx_selected(o)"># define mx_selected(o)</a>
Return if an MX_OBJ is selected or not  </li>
<li><a href="depui_corepui.htm# define mx_select(o,s)"># define mx_select(o,s)</a>
Select an MX_OBJ  </li>
<li><a href="depui_corepui.htm# define mx_disable(o,d)"># define mx_disable(o,d)</a>
Disable an MXOBJ   </li>
<li><a href="depui_corepui.htm# define mx_disabled(o)"># define mx_disabled(o)</a>
Return if a MX_OBJ is disabled or not  </li>
<li><a href="depui_corepui.htm# define mx_wantmove(o,w)"># define mx_wantmove(o,w)</a>
Determine if an object recieves MX_POINTER_MOVE events  </li>
<li><a href="depui_corepui.htm# define mx_wantpointer(o,w)"># define mx_wantpointer(o,w)</a>
Determine if an object will recieve MX_POINTER_* events  </li>
<li><a href="depui_corepui.htm# define mx_haspointer(o)"># define mx_haspointer(o)</a>
Determine if an object has the pointer  </li>
<li><a href="depui_corepui.htm# define mx_wantfocus(o,w)"># define mx_wantfocus(o,w)</a>
Determine if an object wants the focus or not</li>
<li><a href="depui_corepui.htm# define mx_focused(o)"># define mx_focused(o)</a>
Return if an MX_OBJ is focused or not  </li>
<li><a href="depui_corepui.htm# define mx_focus_default(o)"># define mx_focus_default(o)</a>
Set a object to be the default focus object</li>
<li><a href="depui_corepui.htm#void mx_obj_class(void)">void mx_obj_class(void)</a>
Class function for MX_OBJECT  </li>
<li><a href="depui_corepui.htm# define mx_obj(o,c,s,p,i)"># define mx_obj(o,c,s,p,i)</a>
Construct an MX_OBJ object  </li>
<li><a href="depui_corepui.htm# define MXTEXTUAL(o)"># define MXTEXTUAL(o)</a>
Convert to MX_TEXTUAL base class  </li>
<li><a href="depui_corepui.htm# define mx_text_set(o,t,l,f)"># define mx_text_set(o,t,l,f)</a>
Set the text of a MX_TEXTUAL object  </li>
<li><a href="depui_corepui.htm# define mx_text_setcopy(o,t,l)"># define mx_text_setcopy(o,t,l)</a>
Set the text of a MX_TEXTUAL object to a copy of some text  </li>
<li><a href="depui_corepui.htm# define mx_text_font(o,f)"># define mx_text_font(o,f)</a>
Set the font associated with the MX_TEXTUAL object  </li>
<li><a href="depui_corepui.htm# define mx_text(o,l)"># define mx_text(o,l)</a>
Return the text of a MX_TEXTUAL object  </li>
<li><a href="depui_corepui.htm# define mx_text_align(o,a)"># define mx_text_align(o,a)</a>
Set the alignment associated with the MX_TEXTUAL object  </li>
<li><a href="depui_corepui.htm# define mx_text_align_get(o)"># define mx_text_align_get(o)</a>
Return the alignment associated with the MX_TEXTUAL object  </li>
<li><a href="depui_corepui.htm#void mx_textual_class(void)">void mx_textual_class(void)</a>
Class function for MX_TEXTUAL  </li>
<li><a href="depui_corepui.htm# define mx_textual(m,s,p,i)"># define mx_textual(m,s,p,i)</a>
Construct a MX_TEXTUAL object  </li>
<li><a href="depui_corepui.htm# define MXBUTTON(o)"># define MXBUTTON(o)</a>
Convert to MX_BUTTON base class  </li>
<li><a href="depui_corepui.htm#void mx_button_class(void)">void mx_button_class(void)</a>
Class function for MX_BUTTON  </li>
<li><a href="depui_corepui.htm# define mx_button(m,s,p,i)"># define mx_button(m,s,p,i)</a>
Construct a button  </li>
<li><a href="depui_corepui.htm#typedef void (*MX_HANDLER) (struct MX_WIN* win);">typedef void (*MX_HANDLER) (struct MX_WIN* win);</a>
Event handler</li>
<li><a href="depui_corepui.htm#MX_WIN">MX_WIN</a>
A window object  </li>
<li><a href="depui_corepui.htm# define MXWIN(o)"># define MXWIN(o)</a>
Convert to base MX_WIN class</li>
<li><a href="depui_corepui.htm#void mx_win_class(void)">void mx_win_class(void)</a>
Class function for MX_WIN  </li>
<li><a href="depui_corepui.htm#void mx_win_handler(MX_WIN* win)">void mx_win_handler(MX_WIN* win)</a>
The default window handler function  </li>
<li><a href="depui_corepui.htm#void mx_default_handler(void)">void mx_default_handler(void)</a>
The default window handler function  </li>
<li><a href="depui_corepui.htm# define mx_win(w,s,h,i)"># define mx_win(w,s,h,i)</a>
Construct a standard window (and border)  </li>
<li><a href="depui_corepui.htm# define mx_basicwin(w,s,h,i)"># define mx_basicwin(w,s,h,i)</a>
Construct a basic window (no boprder)  </li>
<li><a href="depui_corepui.htm# define mx_active(w)"># define mx_active(w)</a>
Is window active?</li>
<li><a href="depui_corepui.htm# define mx_win_dirty(w)"># define mx_win_dirty(w)</a>
Mark a window for later redraw</li>
<li><a href="depui_corepui.htm# define mx_modal(w)"># define mx_modal(w)</a>
Make a window modal</li>
<li><a href="depui_corepui.htm#void mx_winborder_class(void)">void mx_winborder_class(void)</a>
Class function for MX_WINBORDER  </li>
<li><a href="depui_corepui.htm# define mx_winborder(b,s,o,i)"># define mx_winborder(b,s,o,i)</a>
Create a border for a window  </li>
<li><a href="depui_corepui.htm# define mx_win_noresize(w,res)"># define mx_win_noresize(w,res)</a>
Make a window resizeable/unresizable  </li>
<li><a href="depui_corepui.htm# define mx_win_noclose(w,res)"># define mx_win_noclose(w,res)</a>
Make a window closeable/uncloseable  </li>
<li><a href="depui_corepui.htm# define mx_win_nomove(w,res)"># define mx_win_nomove(w,res)</a>
Make a window moveable/unmoveable  </li>
<li><a href="depui_corepui.htm# define mx_win_notitle(w,res)"># define mx_win_notitle(w,res)</a>
Make a window have no title  </li>
<li><a href="depui_corepui.htm# define mx_win_rootchild(w)"># define mx_win_rootchild(w)</a>
Make a window a child of the root window  </li>
<li><a href="depui_corepui.htm#unsigned int mx_emit(MX_EVENT event, const void* data, unsigned int datalen)">unsigned int mx_emit(MX_EVENT event, const void* data, unsigned int datalen)</a>
Emit an event to parent object</li>
<li><a href="depui_corepui.htm#unsigned int mx_inform(MX_EVENT event, const void* data, unsigned int datalen)">unsigned int mx_inform(MX_EVENT event, const void* data, unsigned int datalen)</a>
Inform parent window of event</li>
<li><a href="depui_corepui.htm#void mx_answer(unsigned int answer)">void mx_answer(unsigned int answer)</a>
Set the answer to an event</li>
<li><a href="depui_corepui.htm#void mx_theme_set(const MX_THEME* theme)">void mx_theme_set(const MX_THEME* theme)</a>
Set the current theme</li>
<li><a href="depui_corepui.htm#MX_GUIFONT* mx_guifont_load(const char* filename, const char* text)">MX_GUIFONT* mx_guifont_load(const char* filename, const char* text)</a>
Load a gui font from a file</li>
<li><a href="depui_corepui.htm#MX_GUIFONT* mx_guifont_index(int i)">MX_GUIFONT* mx_guifont_index(int i)</a>
Returns the available gui fonts.  </li>
<li><a href="depui_corepui.htm#const char* mx_guifont_text(const MX_GUIFONT* guifont)">const char* mx_guifont_text(const MX_GUIFONT* guifont)</a>
Get font desriptive text</li>
<li><a href="depui_corepui.htm#void mx_guifont_default(MX_GUIFONT* guifont)">void mx_guifont_default(MX_GUIFONT* guifont)</a>
Set the default gui font  </li>
<li><a href="depui_corepui.htm#const MX_POINTER_INFO* mx_pointer_info(void)">const MX_POINTER_INFO* mx_pointer_info(void)</a>
Returns pointer information  </li>
<li><a href="depui_corepui.htm#unsigned mx_pointer_hold(void)">unsigned mx_pointer_hold(void)</a>
Hold the pointer</li>
<li><a href="depui_corepui.htm#unsigned mx_pointer_release(void)">unsigned mx_pointer_release(void)</a>
Release the pointer</li>
<li><a href="depui_corepui.htm#const MX_KEY_INFO* mx_key_info(void)">const MX_KEY_INFO* mx_key_info(void)</a>
Return keypress information.  </li>
<li><a href="depui_corepui.htm#static void mx__destroy(void* atom)">static void mx__destroy(void* atom)</a>
</li>
<li><a href="depui_corepui.htm#const MX_RECT* mx_expose_rect(void)">const MX_RECT* mx_expose_rect(void)</a>
</li>
<li><a href="depui_corepui.htm#unsigned mx_exposing(void)">unsigned mx_exposing(void)</a>
</li>
<li><a href="depui_corepui.htm#static void mx__expose(MX_OBJ_DATA* obj, const MX_RECT* rect)">static void mx__expose(MX_OBJ_DATA* obj, const MX_RECT* rect)</a>
</li>
<li><a href="depui_corepui.htm#void mx_expose_background(const MX_RECT* rect)">void mx_expose_background(const MX_RECT* rect)</a>
</li>
<li><a href="depui_corepui.htm#unsigned mx_start(void)">unsigned mx_start(void)</a>
The initialization function for DEPUI.  </li>
<li><a href="depui_corepui.htm#int mx_execute(void)">int mx_execute(void)</a>
The main gui loop for DEPUI  </li>
<li><a href="depui_edittext.htm#MX_EDITTEXT">MX_EDITTEXT</a>
An editable text object  </li>
<li><a href="depui_edittext.htm# define MXEDITTEXT(o)"># define MXEDITTEXT(o)</a>
Convert to base MX_EDITTEXT object  </li>
<li><a href="depui_edittext.htm# define mx_edittext(m,s,p,i)"># define mx_edittext(m,s,p,i)</a>
Create an editable text object</li>
<li><a href="depui_edittext.htm# define mx_edittext_zeroterminate(e)"># define mx_edittext_zeroterminate(e)</a>
Force zero termination if internal string</li>
<li><a href="depui_edittext.htm# define mx_edittext_cursorpos(e,p)"># define mx_edittext_cursorpos(e,p)</a>
Set cursor position</li>
<li><a href="depui_edittext.htm# define mx_edittext_cursorscroll(e)"># define mx_edittext_cursorscroll(e)</a>
Make the MX_EDITTEXT request a scroll to make the cursor visible  </li>
<li><a href="depui_edittext.htm#void mx__edittext_cursorpos(MX_EDITTEXT_DATA* edit, int newpos)">void mx__edittext_cursorpos(MX_EDITTEXT_DATA* edit, int newpos)</a>
</li>
<li><a href="depui_edittext.htm#void mx_edittext_class(void)">void mx_edittext_class(void)</a>
</li>
<li><a href="depui_filesel.htm#MX_FILESEL">MX_FILESEL</a>
File selector window</li>
<li><a href="depui_filesel.htm# define mx_filesel(id)"># define mx_filesel(id)</a>
Create a file selector window</li>
<li><a href="depui_filesel.htm#void mx_filesel_refresh(MX_FILESEL* sel)">void mx_filesel_refresh(MX_FILESEL* sel)</a>
Refresh file selector contents</li>
<li><a href="depui_filesel.htm#void mx_filesel_handler(MX_WIN* win)">void mx_filesel_handler(MX_WIN* win)</a>
</li>
<li><a href="depui_filesel.htm#MX_FILESEL* mx_fileselwin(MX_FILESEL* sel, size_t size, MX_HANDLER handler, int theid)">MX_FILESEL* mx_fileselwin(MX_FILESEL* sel, size_t size, MX_HANDLER handler, int theid)</a>
Create file selector</li>
<li><a href="depui_fontsel.htm#MX_FONTSEL">MX_FONTSEL</a>
A font seletion window  </li>
<li><a href="depui_fontsel.htm# define mx_fontsel(id)"># define mx_fontsel(id)</a>
Create a font selector window</li>
<li><a href="depui_fontsel.htm#void mx_fontsel_refresh(MX_FONTSEL* fsel)">void mx_fontsel_refresh(MX_FONTSEL* fsel)</a>
</li>
<li><a href="depui_fontsel.htm#MX_FONTSEL* mx_fontselwin(MX_FONTSEL* fsel, size_t size, MX_HANDLER handler, int theid)">MX_FONTSEL* mx_fontselwin(MX_FONTSEL* fsel, size_t size, MX_HANDLER handler, int theid)</a>
</li>
<li><a href="depui_fontsel.htm#MX_GUIFONT* mx_fontsel_info(const int idnum)">MX_GUIFONT* mx_fontsel_info(const int idnum)</a>
Font selection information</li>
<li><a href="depui_gfxsel.htm#MX_GFXSEL">MX_GFXSEL</a>
Graphics mode selector  </li>
<li><a href="depui_gfxsel.htm# define mx_gfxsel(id)"># define mx_gfxsel(id)</a>
Create a graphics mode and theme selector.  </li>
<li><a href="depui_gfxsel.htm#MX_GFXSEL_INFO">MX_GFXSEL_INFO</a>
Graphics mode selector information</li>
<li><a href="depui_gfxsel.htm#void mx_gfxsel_handler(MX_WIN* win)">void mx_gfxsel_handler(MX_WIN* win)</a>
</li>
<li><a href="depui_gfxsel.htm#MX_GFXSEL* mx_gfxselwin(MX_GFXSEL* sel, size_t size, MX_HANDLER handler, int theid)">MX_GFXSEL* mx_gfxselwin(MX_GFXSEL* sel, size_t size, MX_HANDLER handler, int theid)</a>
</li>
<li><a href="depui_gfxsel.htm#MX_GFXSEL_INFO* mx_gfxsel_info(const int idnum)">MX_GFXSEL_INFO* mx_gfxsel_info(const int idnum)</a>
</li>
<li><a href="depui_list.htm#MX_LISTELEM">MX_LISTELEM</a>
A list element type  </li>
<li><a href="depui_list.htm# define MXLISTELEM(o)"># define MXLISTELEM(o)</a>
Convert to MX_LISTELEM base object  </li>
<li><a href="depui_list.htm#void mx_listelem_class(void)">void mx_listelem_class(void)</a>
Class function for MX_LISTELEM  </li>
<li><a href="depui_list.htm# define mx_listelem(l,s,p,i)"># define mx_listelem(l,s,p,i)</a>
Construct a list element  </li>
<li><a href="depui_list.htm#MX_LIST">MX_LIST</a>
A scrollable list object</li>
<li><a href="depui_list.htm# define MXLIST(o)"># define MXLIST(o)</a>
Convert to MX_LIST base class  </li>
<li><a href="depui_list.htm#void mx_list_class(void)">void mx_list_class(void)</a>
Class function for MX_LIST  </li>
<li><a href="depui_list.htm# define mx_list(m,s,p,i)"># define mx_list(m,s,p,i)</a>
Create a MX_LIST object  </li>
<li><a href="depui_list.htm# define mx_list_append(l,t,le,f,id)"># define mx_list_append(l,t,le,f,id)</a>
Append list element from text  </li>
<li><a href="depui_list.htm# define mx_list_multiple(l,m)"># define mx_list_multiple(l,m)</a>
Determine if a list allows multiple selected items  </li>
<li><a href="depui_list.htm# define mx_list_select_id(l,i,d)"># define mx_list_select_id(l,i,d)</a>
Select list elements with a given ID number  </li>
<li><a href="depui_list.htm# define mx_list_selected(l,p)"># define mx_list_selected(l,p)</a>
Return first selection in list  </li>
<li><a href="depui_list.htm# define mx_list_selected_id(l)"># define mx_list_selected_id(l)</a>
Return the ID number of the first selection  </li>
<li><a href="depui_list.htm# define mx_list_first(l)"># define mx_list_first(l)</a>
Return the first list element  </li>
<li><a href="depui_list.htm# define mx_list_last(l)"># define mx_list_last(l)</a>
Return the last list element  </li>
<li><a href="depui_list.htm# define mx_list_empty(l)"># define mx_list_empty(l)</a>
Remove all list elements  </li>
<li><a href="depui_list.htm# define mx_list_next(l)"># define mx_list_next(l)</a>
Return the following list element  </li>
<li><a href="depui_list.htm# define mx_list_prev(l)"># define mx_list_prev(l)</a>
Return the previous list element  </li>
<li><a href="depui_platform.htm#unsigned int mx_platform_font_width(void* pfont, const char* text, int len)">unsigned int mx_platform_font_width(void* pfont, const char* text, int len)</a>
</li>
<li><a href="depui_scroll.htm#MX_SCROLL">MX_SCROLL</a>
Scrollable area</li>
<li><a href="depui_scroll.htm# define MXSCROLL(o)"># define MXSCROLL(o)</a>
Convert to MX_SCROLL base object  </li>
<li><a href="depui_scroll.htm#void mx_scroll_class(void)">void mx_scroll_class(void)</a>
Class function for MX_SCROLL  </li>
<li><a href="depui_scroll.htm# define mx_scroll(s,si,p,i)"># define mx_scroll(s,si,p,i)</a>
Create scrollable area</li>
<li><a href="depui_scroll.htm# define mx_scroll_reset(s)"># define mx_scroll_reset(s)</a>
Reset a MX_SCROLL area</li>
<li><a href="depui_scroll.htm#MX_SCROLL2">MX_SCROLL2</a>
Scrollable area with title</li>
<li><a href="depui_scroll.htm# define MXSCROLL2(o)"># define MXSCROLL2(o)</a>
Convert to MX_SCROLL2 base object  </li>
<li><a href="depui_slider.htm#MX_SLIDER">MX_SLIDER</a>
Slider type  </li>
<li><a href="depui_slider.htm# define MXSLIDER(o)"># define MXSLIDER(o)</a>
Convert to MX_SLIDER base object  </li>
<li><a href="depui_slider.htm# define mx_slider_set(s,r,si,v)"># define mx_slider_set(s,r,si,v)</a>
Set the slider range size and value  </li>
<li><a href="depui_slider.htm# define mx_slider_to(s,v)"># define mx_slider_to(s,v)</a>
Move slider to a given position  </li>
<li><a href="depui_slider.htm# define mx_slider_value(s)"># define mx_slider_value(s)</a>
Return the slider value  </li>
<li><a href="depui_slider.htm#void mx_vslider_class(void)">void mx_vslider_class(void)</a>
Class function for vertical MX_SLIDER  </li>
<li><a href="depui_slider.htm# define mx_vslider(s,si,p,i)"># define mx_vslider(s,si,p,i)</a>
Create vertical slider</li>
<li><a href="depui_slider.htm#void mx_hslider_class(void)">void mx_hslider_class(void)</a>
Class function for horizontal MX_SLIDER  </li>
<li><a href="depui_slider.htm# define mx_hslider(s,si,p,i)"># define mx_hslider(s,si,p,i)</a>
Create horizontal slider</li>
<li><a href="depui_slider.htm#void mx__slider_set(MX_SLIDER_DATA* slider, int range, int size, int value)">void mx__slider_set(MX_SLIDER_DATA* slider, int range, int size, int value)</a>
</li>
<li><a href="depui_slider.htm#void mx__slider_to(MX_SLIDER_DATA* slider, int value)">void mx__slider_to(MX_SLIDER_DATA* slider, int value)</a>
</li>
<li><a href="depui_sysmenu.htm#static void mx__sysmenu_popup(void)">static void mx__sysmenu_popup(void)</a>
</li>
<li><a href="depui_sysmenu.htm#void mx_sysmenu(void)">void mx_sysmenu(void)</a>
Create a system menu  </li>
<li><a href="depui_textedit.htm#MX_TEXTEDITOR">MX_TEXTEDITOR</a>
Text editor  </li>
<li><a href="depui_textedit.htm# define mx_texteditor(id)"># define mx_texteditor(id)</a>
Create a text editor window.  </li>
<li><a href="depui_themesel.htm#MX_THEMESEL">MX_THEMESEL</a>
A theme seletion window  </li>
<li><a href="depui_themesel.htm# define mx_themesel(id)"># define mx_themesel(id)</a>
Create a theme selector window</li>
<li><a href="depui_themesel.htm#void mx_themesel_refresh(MX_THEMESEL* sel)">void mx_themesel_refresh(MX_THEMESEL* sel)</a>
</li>
<li><a href="depui_themesel.htm#void mx_themesel_handler(MX_WIN* win)">void mx_themesel_handler(MX_WIN* win)</a>
</li>
<li><a href="depui_themesel.htm#MX_THEMESEL* mx_themeselwin(MX_THEMESEL* sel, size_t size, MX_HANDLER handler, int theid)">MX_THEMESEL* mx_themeselwin(MX_THEMESEL* sel, size_t size, MX_HANDLER handler, int theid)</a>
</li>
<li><a href="depui_themesel.htm#const MX_THEME* mx_themesel_info(const int idnum)">const MX_THEME* mx_themesel_info(const int idnum)</a>
theme selection information</li>
<li><a href="detk_bitfield.htm#define MX_BITFIELD(a)">#define MX_BITFIELD(a)</a>
Portable bitfield</li>
<li><a href="detk_default.htm#define MXDEFAULT">#define MXDEFAULT</a>
Default integer value</li>
<li><a href="detk_drs.htm#typedef void (*MX_FLUSH_FUNC) (MX_RECT* rect);">typedef void (*MX_FLUSH_FUNC) (MX_RECT* rect);</a>
Flush callback function for dirty rectangle updating</li>
<li><a href="detk_drs.htm#void mx_drs_area(int w, int h)">void mx_drs_area(int w, int h)</a>
Initialize dirty-rectangle system</li>
<li><a href="detk_drs.htm#unsigned mx_drs_dirtychanged(void)">unsigned mx_drs_dirtychanged(void)</a>
Return if parts of the screen need updating</li>
<li><a href="detk_drs.htm#unsigned mx_drs_update(MX_FLUSH_FUNC dflush)">unsigned mx_drs_update(MX_FLUSH_FUNC dflush)</a>
Call the flush function with the parts of the screen needing updating</li>
<li><a href="detk_drs.htm#void mx_drs_dirty(const MX_RECT* rrect, unsigned mark)">void mx_drs_dirty(const MX_RECT* rrect, unsigned mark)</a>
Mark a portion of the screen as needing updating</li>
<li><a href="detk_file.htm#const char* mx_basename(const char* fname)">const char* mx_basename(const char* fname)</a>
</li>
<li><a href="detk_file.htm#int mx_fgetw(FILE* f)">int mx_fgetw(FILE* f)</a>
</li>
<li><a href="detk_file.htm#unsigned mx_filename_match(const char* p, const char* t)">unsigned mx_filename_match(const char* p, const char* t)</a>
</li>
<li><a href="detk_file.htm#void mx_path_fix(char* ptr)">void mx_path_fix(char* ptr)</a>
</li>
<li><a href="detk_region.htm#typedef MX_VECTOR(MX_RECT) MX_REGION;">typedef MX_VECTOR(MX_RECT) MX_REGION;</a>
</li>
<li><a href="detk_region.htm#void mx_region_clip(MX_REGION* region, const MX_RECT* therect)">void mx_region_clip(MX_REGION* region, const MX_RECT* therect)</a>
</li>
<li><a href="detk_utf8.htm#unsigned int mx_utf8_len(const char* s)">unsigned int mx_utf8_len(const char* s)</a>
Return number of characters in a UTF-8 encoded character</li>
<li><a href="detk_utf8.htm#long mx_utf8_char(const char* s, unsigned int len)">long mx_utf8_char(const char* s, unsigned int len)</a>
Read a UTF-8 character</li>
</ul><p>Generated by <a href="http://www.deleveld.dds.nl/mxdoc/index.htm">MXDOC</a> 2.2 on Sun Feb  4 15:16:28 2007


</body></html>
